【机器翻译】RNN系列 - GNMT

2016年9月,Google机器翻译实现重大突破!Google研究团队宣布开发Google神经机器翻译系统(GNMT)。同年11月,Google翻译停止使用其自2007年10月以来一直使用的专有统计机器翻译(SMT)技术,开始使用神经机器翻译(NMT)
从此宣告, 机器翻译经过27年左右, 正式从1989年的IBM机器翻译模型(PBMT,基于短语的机器翻译),过渡到了神经网络机器翻译模型。

GNMT是一种端到端的学习方法,不再将句子分解为词和短语独立翻译,而是翻译完整的句子,使得误差降低了 55%-85% 以上。

首先,模型对中文进行编码。整个句子编码完成后,启动decoder,进行解码。解码过程中的每一步,都需要一组attention weight,对输入序列的vector进行加权。

背景

NMT虽然已经开始应用,

但 NMT 系统的训练和翻译推理的计算成本非常高,同时也难以应对罕见词,这些问题阻碍了 NMT 在实际部署和服务中的应用,因为在实际应用中,准确度和速度都很关键。而谷歌的神经机器翻译提出了带有 8 个编码器和 8 个解码器的深度 LSTM 网络组成的模型,使用了注意力和残差连接。为了提升并行性从而降低训练时间,注意机制将解码器的底层连接到了编码器的顶层。在推理计算过程中使用了低精度运算来加速翻译速度。为改善对罕见词的处理,谷歌将词分成常见子词单元(词的组件)的一个有限集合,该集合既是输入也是输出。这种方法能提供「字符」-delimited models 的灵活性和「词」-delimited models 的有效性之间的平衡、能自然地处理罕见词的翻译、并能最终提升系统的整体准确度。谷歌的波束搜索技术使用了一个长度规范化过程,并使用了一个覆盖度惩罚,其可以激励很可能能覆盖源句子中所有的词的输出句子的生成。在 WMT’ 14 英语-法语和英语-德语基准上,GNMT 实现了可与当前最佳结果媲美的结果。通过在一个单独的简单句子集合的人类对比评估中,它相比于谷歌已经投入生产的基于短语的系统的翻译误差平均降低了 60%。

模型

zero-shot翻译

GNMT系统可以处理“零点翻译”,即直接将一种语言翻译成另一种语言(例如中文到日文)。以前Google翻译会先将源语言翻译成英文,然后将英文翻译成目标语言,而不是直接从一种语言翻译成另一种语言。

Result

以上可以看出

存在的问题

  • 漏翻
  • 错翻:特别是对于名字和稀有词(rare word)
  • 未考虑大语境(context of the paragraph or page)

扩展阅读